/**********************************************************************************************************************
 *
 * Project:    mGameEngine
 * File:       keyboardlistener.h
 * Author:     karooolek
 * Created on: 2009-01-18
 *
 **********************************************************************************************************************/

#ifndef KEYBOARDLISTENER_H_
#define KEYBOARDLISTENER_H_

#include "keycode.h"

namespace mGameEngine
{
namespace Input
{

/**
 * Interface for objects listening keyboard events.
 */
class KeyboardListener
{
public:
    virtual ~KeyboardListener()
    {
    }

    /**
     * Keyboard key is pressed.
     * @param key key code
     */
    virtual void keyDown(KeyCode key) = 0;

    /**
     * Keyboard key is released.
     * @param key key code
     */
    virtual void keyUp(KeyCode key) = 0;
};

}
}

#endif // KEYBOARDLISTENER_H_
